package com.bzsg.rightsManagementSystem.service

import com.bzsg.rightsManagementSystem.pojo.PersonUser




interface UserService {
    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    fun queryById(id: Int): PersonUser?

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    fun queryAllByLimit(offset: Int, limit: Int): List<PersonUser>?

    /**
     * 查询多条数据
     *
     * @param personUser 查询起始位置
     * @return 对象列表
     */
    fun queryAll(): List<PersonUser>?

    /**
     * 新增数据
     *
     * @param personUser 实例对象
     * @return 实例对象
     */
    fun insert(personUser: PersonUser)

    /**
     * 修改数据
     *
     * @param personUser 实例对象
     * @return 实例对象
     */
    fun update(personUser: PersonUser)

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    fun deleteById(id: Int)

    /**
     * 根据用户名查询用户
     *
     * @param userName
     * @return 实例对象
     */
    fun selectUserByName(userName: String): PersonUser?

    /**
     * 根据账户名查找用户
     *
     * @param account
     * @return 实例对象
     */
    fun selectUserByAccount(account: String): PersonUser?

    /**
     * 查询用户数量
     *
     * @param
     * @return 用户数量
     */
    fun selectTotalUser(): Int
    fun deleteAllUserRoleRelationByUserId(userId: Int)
    fun addUserRoleRelation(userId: Int, roleId: Int)
}